/* 基础动画效果 */
@keyframes pulse {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* 眨眼动画 - 更自然的眨眼效果 */
@keyframes blink {
  0%, 96%, 100% {
    transform: scaleY(1);
  }
  97% {
    transform: scaleY(0.1);
  }
}

/* 眨眼动画 - 左眼独立眨眼 */
@keyframes blinkLeft {
  0%, 95%, 100% {
    transform: scaleY(1);
  }
  97% {
    transform: scaleY(0.1);
  }
}

/* 眨眼动画 - 右眼独立眨眼 */
@keyframes blinkRight {
  0%, 93%, 100% {
    transform: scaleY(1);
  }
  95% {
    transform: scaleY(0.1);
  }
}

/* 仿真眨眼动画 - 带缓动效果 */
@keyframes naturalBlink {
  0%, 95%, 100% {
    transform: scaleY(1);
  }
  96% {
    transform: scaleY(0.7);
  }
  97% {
    transform: scaleY(0.1);
  }
  98% {
    transform: scaleY(0.6);
  }
  99% {
    transform: scaleY(0.9);
  }
}

/* 悬浮动画 */
@keyframes hover {
  0%, 100% {
    transform: translateY(0) rotate(-1deg);
  }
  50% {
    transform: translateY(-8px) rotate(1deg);
  }
}

/* 光效果动画 */
@keyframes lightEffect {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* 脉冲连线动画 */
@keyframes pulseLine {
  0%, 100% {
    opacity: 0.2;
  }
  50% {
    opacity: 0.8;
  }
}

/* 爆炸动画 */
@keyframes explode {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

/* 合并动画 */
@keyframes merge {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
} 